﻿/**this js file is extJS common file
 */

Ext.QuickTips.init(false); //show tips message,autoRender disabled.
Ext.form.Field.prototype.msgTarget = 'side';

/**以下js代码定义Ext的自定义Form校验函数,实现自定义验证 
 * EXT form验证中vtype的默认支持类型 
 * 1.alpha    只能输入字母，无法输入其他（如数字，特殊符号等） 
 * 2.alphanum 只能输入字母和数字，无法输入其他 
 * 3.email    email验证，要求的格式是jack_luoting@126.com 
 * 4.url      url格式验证，要求的格式是http://www.skywin.com 
 */

//先用Ext.apply方法添加自定义的 daterange 验证函数（也可以取其他的名字）
//val指这里的文本框值，field指这个文本框
Ext.apply(Ext.form.VTypes, {
    dblCharField : function(val, field) { //对于双字节TextField的MaxLength进行校验
        var len = 0;

        for (var i=0; i<val.length; i++) {
            if (val.charCodeAt(i) > 255) 
                len += 3; //unicode is 3 bytes, chinese and japanese encoding are 2 bytes;
            else 
                len++;
        }
        if (!isNaN(field.maxLength) && (field.maxLength *1) >= len) {
            return true;
        } else {
            this.dblCharFieldText='该输入项的最大长度是'+field.maxLength+'字节(注:一个汉字占用3个字节)';
            return false;
        }
    }, //当此函数返回False时，用下面这个Message进行提示
    IntegerOnly : function(val, field) { //check is integer?
        if (val == "")
            return true;
        if(/^(\-?)(\d+)$/.test(val))
            return true;
        else
            return false;
    },
    IntegerOnlyText : "请输入整型数字",

    phone:function(val,field) {  
        //return (/^0(\d{2}|\d{3})\-(\d{7}|\d{8})$/.test(val));
    	//phoneText:'请输入正确的电话号码,如:0592-1234567'
    	return (/^[0-9 \-]+$/).test(val);
    }, 
    phoneText:'请输入数字、空格或-'
});

/**以下代码限定TextField在设定maxLength后，
  当输入的字符数超过maxLength之后，不能再输入
*/
Ext.form.TextField.prototype.size = 30;  //??这个size数输多少不清楚
Ext.form.TextField.prototype.initValue = function()
{
    if(this.value !== undefined){
        this.setValue(this.value);
    }else if(this.el.dom.value.length > 0){
        this.setValue(this.el.dom.value);
    }
    this.el.dom.size = this.size;
    if (!isNaN(this.maxLength) && (this.maxLength *1) > 0 && (this.maxLength != Number.MAX_VALUE)) {
        this.el.dom.maxLength = this.maxLength *1;
    }
};

//apply 
if (Ext.form.HtmlEditor) {
   Ext.apply(Ext.form.HtmlEditor.prototype, {
        style:'font-family:"宋体";',
        fontFamilies:["宋体","黑体","隶书","Arial","Courier New","Tahoma"]
   });
}

